---
sidebar_position: 4
---

# Create options

Scrcpy protocol changes over time, and are usually not backward compatible. In Tango's implementation, the options actually have two proposes:

- It defines which server options are available
- It normalize the behavior between different server versions

It's important to use the correct options class for the server version you're using. Using an incorrect version almost always results in a error.

## `@yume-chan/scrcpy` versions

These types contains all the options available in the corresponding Scrcpy version.

| Version   | Type                |
| --------- | ------------------- |
| 1.16      | `ScrcpyOptions1_16` |
| 1.17      | `ScrcpyOptions1_17` |
| 1.18~1.20 | `ScrcpyOptions1_18` |
| 1.21      | `ScrcpyOptions1_21` |
| 1.22      | `ScrcpyOptions1_22` |
| 1.23      | `ScrcpyOptions1_23` |
| 1.24      | `ScrcpyOptions1_24` |
| 1.25      | `ScrcpyOptions1_25` |
| 2.0       | `ScrcpyOptions2_0`  |
| 2.1       | `ScrcpyOptions2_1`  |
| 2.2~2.3.1 | `ScrcpyOptions2_2`  |

Parsing `--list-cameras` and `--list-camera-sizes` in version 2.2 are not supported yet.

## `@yume-chan/adb-scrcpy` versions

There are extra options classes in `@yume-chan/adb-scrcpy` package, which contains settings for how to start and connect to the server.

| Version   | Type                   |
| --------- | ---------------------- |
| 1.16~1.21 | `AdbScrcpyOptions1_16` |
| 1.22~1.25 | `AdbScrcpyOptions1_22` |
| 2.0       | `AdbScrcpyOptions2_0`  |
| 2.1~2.3.1 | `AdbScrcpyOptions2_1`  |
